package com.qf.controller;

import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.qf.entity.Touristguide;
import com.qf.entity.TouristguideDTO;
import com.qf.entity.User;
import com.qf.entity.UserDTO;
import com.qf.service.TouristguideService;
import com.qf.util.R;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.List;

/**
 * ------回首昨日,更进一步------
 *
 * @author JinXiaoChen
 * @date 2025/4/27
 * @desc
 */
@RestController
@CrossOrigin
public class TouristguideController {
    @Autowired
    private TouristguideService touristguideService;
    /**
     * 查询所有用户信息
     *
     * @return
     */
    @PostMapping("/find/touristguide/All")
    public R findAll() {
        List<Touristguide> tguides = touristguideService.findAll();
        return R.ok(tguides);
    }



    /**
     * 分页模糊查询用户信息
     */
    @GetMapping("/find/touristguide/page")
    public R findPage(TouristguideDTO touristguideDTO) {
        PageHelper.startPage(touristguideDTO.getPageNum(), touristguideDTO.getPageSize());
        List<Touristguide> touristguides = touristguideService.findPage(touristguideDTO);
        PageInfo<Touristguide> pageInfo = new PageInfo<>(touristguides);
        return R.ok(pageInfo);
    }



    /**
     * 增加用户信息
     */
    @GetMapping("/touristguide/add")
    public R addTouristguide(Touristguide touristguide) {
        String yusuan = touristguide.getYusuan()+"/月";
        touristguide.setYusuan(yusuan);
        boolean flag = touristguideService.addTouristguide(touristguide);
        return R.ok(flag);
    }

    /**
     * 删除用户信息
     */
    @GetMapping("/touristguide/delete")
    public R deleteTouristguide(Integer id) {
        boolean flag = touristguideService.deleteTouristguide(id);
        return R.ok(flag);
    }

    /**
     * 批量删除用户信息
     */
    @PostMapping("/touristguide/delete/batch")
    public R deleteTouristguideBatch(@RequestBody List<Integer> ids) {
        boolean flag = touristguideService.deleteTouristguideBatch(ids);
        return R.ok(flag);
    }

    /**
     * 修改用户信息
     */
    @GetMapping("/touristguide/update")
    public R updateTouristguide(Touristguide touristguide) {
        boolean flag = touristguideService.updateTouristguide(touristguide);
        return R.ok(flag);
    }

}
